.PHONY:all
all: lib_myfunc.so lib_myfunc.a


lib_myfunc.so: my_print_d.o my_lib_d.o
	g++ -std=c++11 -shared -o  $@ $^

my_print_d.o: my_print.cc
	g++ -std=c++11 -fPIC -c -o $@ $^
my_lib_d.o: my_lib.cc 
	g++ -std=c++11 -fPIC -c -o $@ $^

lib_myfunc.a: my_print.o my_lib.o
	ar -rc lib_myfunc.a my_print.o my_lib.o

my_lib.o:my_lib.cc
	g++ -c -std=c++11 -o $@ $^
my_print.o:my_print.cc 
	g++ -c -std=c++11 -o $@ $^

.PHONY:publish
publish:
	mkdir -p publish/include
	mkdir -p publish/lib 
	cp -rf *.h ./publish/include 
	cp -rf *.a ./publish/lib
	cp -rf *.so ./publish/lib


.PHONY:clean
clean:
	rm -rf *.o *.a *.so  publish

